package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.base.service.dto.common.VirtualOrgMemberDeptDto;
import com.wicket.okrapp.base.service.dto.common.VirtualOrgMemberDto;
import com.wicket.okrapp.biz.service.dto.common.EvaObjTargetCycleDto;
import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementAddOrDelThreeTreeLeafComReqDto
 * @使用场景
 */
@Data
public class ImplementAddOrDelThreeTreeLeafComReqDto
  extends BaseDto
  implements Serializable {

  @ApiModelProperty("被评对象目标周期列表")
  private List<EvaObjTargetCycleDto> evaObjTargetCycleList = new ArrayList<>();

  @ApiModelProperty("虚拟成员部门列表")
  private List<VirtualOrgMemberDeptDto> virtualOrgMemberDeptList = new ArrayList<>();

  @ApiModelProperty("虚拟组织成员列表")
  private List<VirtualOrgMemberDto> virtualOrgMemberList = new ArrayList<>();

  /**
   * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @NotNull(message = "被评对象类型编码不能为空")
  @ApiModelProperty("被评对象类型编码")
  private String evaObjTypeCode;

  /**
   * 冗余目标ID
   */
  @NotNull(message = "冗余目标ID不能为空")
  @ApiModelProperty("冗余目标ID")
  private String targetId;

}
